package com.zjdiepu.www.ibiz.zpp;

import java.util.List;

import com.diepu.www.client.proxy.hzicbc.request.CreditResultRequest;
import com.diepu.www.client.proxy.hzicbc.request.ObtainFileList;
import com.diepu.www.client.proxy.hzicbc.request.ObtainFileListRequest;
import com.zjdiepu.www.base.core.AbstractSysUser;
import com.zjdiepu.www.model.base.dto.SysUser;
import com.zjdiepu.www.model.icbc.dto.OtherLoanLossProvision;
import com.zjdiepu.www.model.yw.dto.YwBusiness;
import com.zjdiepu.www.model.zpp.pub.ext.DiepuCreditFeedbackExt;

public interface IcbcApiService 
{
	/**
	 * 新增接口：更新风险准备金
	 * 对应表【other_loan_loss_provision】
	 * 杭州工行对应的银行编码是【ICBC】，接口接收到信息后更新【other_loan_loss_provision】，如果杭州工行原先已经存在数据，将原先数据状态设置为 dp_status = 3；写入新的信息；
	 * @param currentUser
	 * @param otherLoanLossProvision
	 */
	void diepuUpdateRiskReserve(SysUser currentUser,OtherLoanLossProvision otherLoanLossProvision);
	
	/**
	 *  1.征信结果返回接口
	 *  工行向中转服务器回调征信结果后，通过该接口写入征信结果
	 *	1、如果工行返回的result（客户信用等级） 为 001或者002 或者 003 ：
	 *	l 和原来的征信结果反馈一样处理（zx_征信查询结果表、zx_征信查询申请子表、中转_zx_征信查询申请、中转_zx_征信查询申请子表都要修改）；
	 *	l 将征信结果写入zx_credit_query_hzicbc（type_data=3）；
	 *	|  如果生成订单，订单的type_data = 3
	 *	type_data 
	 *	2、如果工行返回的result（客户信用等级） 为 099 ：
	 *	l 该数据状态变更为“退回”（10）
	 *	l 将征信查询申请表和对应的征信查询申请子表的状态修改为“退回”（zx_征信查询结果表、zx_征信查询申请子表、中转_zx_征信查询申请、中转_zx_征信查询申请子表都要修改）；
  	 *
	 * @param currentUser
	 * @param creditResultRequest
	 */
	void diepuCreditResult(SysUser currentUser,CreditResultRequest creditResultRequest)throws Exception;
	
	
	/**
	 *  从主程序获取附件列表 的定时任务
	 * @param currentUser
	 * @param obtainFileListRequest
	 * @return
	 * @throws Exception
	 */
	List<ObtainFileList> diepuObtainFileList(SysUser currentUser,ObtainFileListRequest obtainFileListRequest)throws Exception;
	
	
	/**
	 * 征信查询反馈
	 * @param currentUser
	 * @param diepuCreditFeedbackExt
	 * @throws Exception
	 */
	YwBusiness diepuCreditFeedback(AbstractSysUser currentUser,DiepuCreditFeedbackExt diepuCreditFeedbackExt)throws Exception;
}
